package zero.tech.games.phz.service.api;

import java.util.List;

import zero.tech.games.logic.common.Room;
import zero.tech.games.logic.data.res.ResReconnet;
import zero.tech.games.phz.data.req.ReqChipai;
import zero.tech.games.phz.data.req.ReqGuopai;
import zero.tech.games.phz.data.req.ReqHupai;
import zero.tech.games.phz.data.req.ReqHupaiGuo;
import zero.tech.games.phz.data.req.ReqPengpai;
import zero.tech.wsnet.controller.LogicController;

public interface IPhzService {

	void bigCalculate(Room room, int dissolutionBigCal);

	ResReconnet roomReconnect(Room room, LogicController online);

	void roomTimer(Room room);

	void gameStart(Room room);
	
	void gameOver(Room room, LogicController winner);

	void reqOutCard(Room room, LogicController controller, int id);

	void reqHupai(Room room, LogicController controller, ReqHupai reqHupai, int op);

	void reqPengpai(Room room, LogicController controller, ReqPengpai reqPengpai, int op);

	void reqChipai(Room room, LogicController controller, ReqChipai reqChipai, int op);

	void reqGuopai(Room room, LogicController controller, ReqGuopai reqGuopai, int op);
	
	void reqHupaiGuo(Room room, LogicController controller, ReqHupaiGuo reqHupaiGuo, int op);
	
	void autoMopai(Room room, int uid);

	void reqShootBird(Room room, LogicController controller, int bird);

	void reqSetcards(Room room, LogicController controller, List<Integer> cardIds);

	void reqSetcardsLeft(Room room, LogicController controller);

	void reqQihu(Room room, LogicController controller);

}
